home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
TPUG - Toronto PET Users Group
/
TPUG Users Group CD
/
TPUG Users Group CD.iso
/
C64
/
T-TPUG Old Monthly Disks
/
(c)tu.d64
/
c-64 grapher.c
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
2007-02-04
|
2KB
|
68 lines
0 REM C-64 HI-RES GRAPH DEMO, DAVID WILLIAMS,1982
5 GOTO500
10 Y=SQR(25-X*X)
11 RETURN
100 C%=PC:R%=PR
103 SYSXX
104 RETURN
500 IFPEEK(51712)<>162THENLOAD"64 H-R PLOT M/L",8,1
510 DIMA(3000):CLR
1000 PRINT"[147]DO YOU WANT INSTRUCTIONS? (Y OR N)"
1010 GETS1$:IFS1$<>"Y"ANDS1$<>"N"THEN1010
1020 IFS1$="Y"THEN1500
1030 PRINT"[147]PLEASE COMPLETE EQUATION OF FUNCTION"
1040 INPUT"Y=";Z$
1050 IFLEFT$(Z$,3)="Y=?"THENZ$=RIGHT$(Z$,LEN(Z$)-3)
1060 FORA1=1TO2:POKE630+A1,13:NEXT:POKE198,2
1070 PRINT"10Y=";Z$
1090 PRINT"RUN1100[145][145][145]";:END
1100 C%=0:R%=0:XX=51712
1101 INPUT"[147]WHAT IS THE GREATEST VALUE OF X";XB
1110 INPUT"WHAT IS THE LEAST VALUE OF X";XA
1120 INPUT"WHAT IS THE GREATEST VALUE OF Y";YB
1130 INPUT"WHAT IS THE LEAST VALUE OF Y";YA
1140 PRINT"DO YOU WANT AXES DRAWN? (Y OR N)"
1180 GETA$:IFA$<>"Y"ANDA$<>"N"THEN1180
1200 PRINT"[147]";
1202 PRINT"COLOUR NUMBERS (0-15)"
1204 INPUT "GRAPH";CO:CO=15ANDCO
1206 INPUT"BACKGROUND";CZ:CZ=15ANDCZ
1207 POKE52748,16*CO+CZ:POKE52749,1:REM COLOUR BYTE AND PLOT/UNPLOT FLAG
1208 PRINT"[147]";:POKE53265,PEEK(53265)OR32:POKE53272,PEEK(53272)AND240OR8
1210 J=17*CZ:FORI=1024TO2023:POKEI,J:NEXT
1215 HS=8192:CS=1024
1219 SX=(XB-XA)/319:SY=(YB-YA)/199
1220 IFA$="N"THEN1270
1230 PC=INT(.5-XA/SX)
1240 IFPC>=0ANDPC<=319THENFORPR=0TO199:GOSUB100:NEXT
1250 PR=INT(.5+YB/SY)
1260 IFPR>=0ANDPR<=199THENFORPC=0TO319:GOSUB100:NEXT
1270 X=XA:GOSUB10:Y1=Y:R1=INT((YB-Y1)/SY+.5)
1280 FORB1=0TO318
1290 X=XA+SX*(B1+1):GOSUB10:Y2=Y
1300 R2=INT((YB-Y2)/SY+.5)
1310 IFABS(R2-R1)>199THEN1380
1320 SR=SGN(R2-R1)
1330 R3=INT((YB-(Y1+Y2)/2)/SY-SR/2+.5)
1340 SS=SR:IFSS=0THENSS=1
1350 PC=B1:FORPR=R1TOR3STEPSS:GOSUB100:NEXT
1360 IFSR=0THEN1380
1370 PC=B1+1:FORPR=R3+SRTOR2STEPSS:GOSUB100:NEXT
1380 Y1=Y2:R1=R2
1390 NEXT
1400 GOTO1400
1500 PRINT"TOO BAD, I HAVEN'T WRITTEN DETAILED"
1510 PRINT"INSTRUCTIONS YET! JUST TYPE IN ANY"
1520 PRINT"FUNCTION EQUATION IN X AND Y, AND"
1530 PRINT"IT SHOULD WORK. IF YOU"
1540 PRINT"USE TRIG RATIOS, ENTER THE ARGUMENTS"
1550 PRINT"IN BRACKETS, E.G. 'SIN(X)'. THE [211]AME"
1560 PRINT"APPLIES TO LOGS, ETC."
1570 PRINT"BE CAREFUL[146] TO AVOID UNDEFINED"
1580 PRINT"EXPRESSIONS WITHIN YOUR RANGES OF"
1590 PRINT"X AND Y."
1600 PRINT"PRESS SPACE BAR TO START"
1610 GETS1$:IFS1$<>" "THEN1610
1620 GOTO1030
0